#pragma once

#include <vgraph>

class EventArgs
{
public :
	EventArgs(){};
	virtual ~EventArgs(){};
};

class EventArgs_flag : public EventArgs
{
public:	
	EventArgs_flag(){ flag = 0;};
	virtual ~EventArgs_flag(){};

	uint32 flag;
};

struct Predicate
{
	static Predicate Default() {static Predicate pred; return pred;}
	static Predicate Boolean() {return Default();}
	static Predicate Process() {return Default();}

	bool operator()(bool result){
		return result;
	}
private: Predicate(){}
};